Loading...
 

Technical details

Technical details of the Birt-ClassiX® interaction system

Note
Currently, only version 4.6.0 (OSGI only) and 4.7 upwards (POJO only) are supported. If you have installed another version, you can uninstall it and then install version 4.6.0.

Design of a new report

  1. By clicking on the report symbol from a ClassiX list, a selection menu is opened, in which you can make various settings:
    1. Name of the report to be created (must not contain spaces and umlauts)
    2. Display name (the report name is displayed in the ClassiX menu for selection)
    3. Category
    4. Customer derivation
    5. Orientation of the report (portrait or landscape format)
    6. There are also the tabs: Query database, Column definitions. Here you can add new columns to the ClassiX selection menu or define a database so that the report cannot be called up from the list window itself. For details see here.
  2. After the desired selection has been made, it must be saved once and then the Report Designer ( -symbol) can be called up.
  3. The ClassiX list is shrunk to the column descriptions with an XSL. This creates two XML files when the report is created. One file contains the layout definition (column size and text alignment), while the other file only contains the data. The second XML file is generated each time you call up a report, since the data selected in ClassiX is stored in it.
  4. Finally, a JAVA program is called that reads the two generated XML files and generates a report with a table from them. The program also uses another report with a master page, which only determines whether the report is to appear in portrait or landscape format and specifies a default header for each page of the report.

Printing a report

Report printing is done using the Report Engine (included in the BIRT Runtime), which is used via the BIRT interface. The BIRT interface provides a running BIRT server, if possible, to receive requests for report generation.

Procedure

  1. ClassiX calls the program ExecuteReport.java and passes at least three parameters
    • the file name of the data XML (*.xml)
    • the file name of the report file (*.rptdesign)
    • the file name of the output file (typically *.pdf)
  2. and optional,
    • whether the report should be printed and
    • what format the report should have.
  3. After the report is created, ShellExecute opens the report.

BIRT server

The BIRT Server is a standalone process that can receive and execute requests to generate a report. It keeps the report engine in memory, dramatically reducing the time required to generate a report.

By default, a BIRT-Server is started when ClassiX is started and bound to port 1789. Since only one process per computer can be bound to a certain port, no BIRT server will be started with another ClassiX instance. However, the BIRT Server will be closed with the original ClassiX instance.

If you want to prevent the BIRT server from starting automatically, you can set the environment variable CX_PREVENT_BIRT_SERVER. The BIRT Server can also be started using the batch file Start_BIRT_Server.bat in the bin directory.

Columns of the data XML

The data XMLs consists of 2 areas: the variables and the data.

In the variables are always at least 4 variables:

  1. Date
  2. Time
  3. Editor
  4. Client

which appear in the header of the report. You can also transfer other fields from ClassiX. These are numbered sequentially. All ClassiX variables are stored in a widget.

Note
The variables must be defined or converted as strings. Variables of a different type are ignored, so the numbering of the variables changes. All variables should therefore be defined at least as empty string "" (appears as ).

In the data area, the data XML contains all columns of the list in ClassiX and, if necessary, columns added via the selection menu (Column Definitions tab). In the column names, all spaces and special characters are replaced by underscores, which makes handling in BIRT easier. The column names in XML do not contain the types of the data fields, but only the data fields themselves. To distinguish between two data fields with the same name but different types, a flag can be inserted.

Columns that contain a number with currency are specially handled by inserting 3 columns into the XML:

  1. the complete printout with number and currency
  2. only the number to simplify the calculation in BIRT
  3. only the currency, so that the correct currency can be inserted at the end of the invoice in BIRT.

Note
Currently, only version 4.6.0 (OSGI only) and 4.7 upwards (POJO only) are supported. If you have installed another version, you can uninstall it and then install version 4.6.0.